package com.lagerplan.model.lmauswahl;

import com.lagerplan.basisdienste.wissensbasis.data.LagermittelKlasseTO;
import com.lagerplan.basisdienste.wissensbasis.data.TransportmittelKlasseTO;

/**
 * siehe [Fang] morphologischer Kasten
 * @author MIFE
 *
 */
public class Lagersystem {

	LagermittelKlasseTO lagermittelKlasseTO;
	
	// Lagergebaeude
	// Lagerorganisation
	
	TransportmittelKlasseTO transportmittelEinAuslagern;
	TransportmittelKlasseTO transportmittelVorzone;
	
	// Die Lagersystemvarianten werden bewertet
	private double bewertungspunkteQuantitativ;
	private double bewertungspunkteQualitativ;
	// Bewertung Quali und Quanti zusammen
	private double gesamtbewertungspunktzahl;
	
	boolean geeignetesLm;
	boolean geeignetesTmEinAuslagern;
	boolean geeignetesTmVorzone;
	
	public Lagersystem(){
		geeignetesLm = true;
		geeignetesTmEinAuslagern = true;
		geeignetesTmVorzone = true;
		bewertungspunkteQuantitativ = 0;
		bewertungspunkteQualitativ = 0;
	}
	
	public double getBewertungQuantitativ() {
		return bewertungspunkteQuantitativ;
	}

	public void addBewertungspunkteQuantitativ(double value){
		bewertungspunkteQuantitativ = bewertungspunkteQuantitativ + value;
	}
	public void addBewertungspunkteQualitativ(double value){
		bewertungspunkteQualitativ = bewertungspunkteQualitativ + value;
	}

	public LagermittelKlasseTO getLagermittel() {
		return lagermittelKlasseTO;
	}
	public void setLagermittel(LagermittelKlasseTO lagermittelKlasseTO) {
		this.lagermittelKlasseTO = lagermittelKlasseTO;
	}
	public TransportmittelKlasseTO getTransportmittelEinAuslagern() {
		return transportmittelEinAuslagern;
	}
	public void setTransportmittelEinAuslagern(
			TransportmittelKlasseTO transportmittelEinAuslagern) {
		this.transportmittelEinAuslagern = transportmittelEinAuslagern;
	}
	public TransportmittelKlasseTO getTransportmittelVorzone() {
		return transportmittelVorzone;
	}
	public void setTransportmittelVorzone(TransportmittelKlasseTO transportmittelVorzone) {
		this.transportmittelVorzone = transportmittelVorzone;
	}
	public boolean isGeeignetesLm() {
		return geeignetesLm;
	}
	public void setGeeignetesLm(boolean geeignetesLm) {
		this.geeignetesLm = geeignetesLm;
	}
	public boolean isGeeignetesTmEinAuslagern() {
		return geeignetesTmEinAuslagern;
	}
	public void setGeeignetesTmEinAuslagern(boolean geeignetesTmEinAuslagern) {
		this.geeignetesTmEinAuslagern = geeignetesTmEinAuslagern;
	}
	public boolean isGeeignetesTmVorzone() {
		return geeignetesTmVorzone;
	}
	public void setGeeignetesTmVorzone(boolean geeignetesVorzone) {
		this.geeignetesTmVorzone = geeignetesVorzone;
	}

	public double getGesamtbewertungspunktzahl() {
		return gesamtbewertungspunktzahl;
	}
	
	/**
	 * Quali+Quanti Bewertung addiert
	 */
	public void calcGesamtbewertungspunktzahl(){
		gesamtbewertungspunktzahl = bewertungspunkteQualitativ + bewertungspunkteQuantitativ;
	}
	
	
}
